package vip.xiaonuo.biz.modular.goods.result;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import com.github.xiaoymin.knife4j.annotations.Ignore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import springfox.documentation.annotations.ApiIgnore;
import vip.xiaonuo.biz.modular.cabinetdoor.entity.BizCabinetDoor;
import vip.xiaonuo.biz.modular.cabinetgroup.entity.BizCabinetGroup;
import vip.xiaonuo.biz.modular.cabinetinfo.entity.BizCabinetInfo;
import vip.xiaonuo.biz.modular.locationarea.entity.BizLocationArea;
import vip.xiaonuo.biz.modular.locationbuilding.entity.BizLocationBuilding;
import vip.xiaonuo.biz.modular.locationroom.entity.BizLocationRoom;
import vip.xiaonuo.common.pojo.CommonParam;

import javax.persistence.Id;
import java.math.BigDecimal;

/**
 * @author 墨塵
 * @since 2022/11/18
 */
@Data
@ApiModel(value = "物品", description = "物品")
public class ClientGoodsPageResult {
    @Id
    @ApiModelProperty(value = "ID")
    private String goodsId;

    @ApiModelProperty(value = "物品编号")
    private String goodsCode;

    @ApiModelProperty(value = "物品名称")
    private String goodsName;

    @ApiModelProperty(value = "当前组柜")
    private String curCabinetGroupName;

    @ApiModelProperty(value = "当前柜子")
    private String curCabinetName;

    @ApiModelProperty(value = "当前柜门")
    private String curCabinetDoorName;

    @ApiModelProperty(value = "当前柜子地点-地区")
    private String curAreaName;

    @ApiModelProperty(value = "当前柜子地点-楼栋")
    private String curBuildingName;

    @ApiModelProperty(value = "当前柜子地点-房间")
    private String curRoomName;

    @ApiModelProperty(value = "存放组柜ID", hidden = true)
    @JsonIgnore
    private String bioCabinetGroupId;

    @ApiModelProperty(value = "存放组柜")
    private String bioCabinetGroupName;

    @ApiModelProperty(value = "存放柜子ID", hidden = true)
    @JsonIgnore
    private String bioCabinetId;

    @ApiModelProperty(value = "存放柜子")
    private String bioCabinetName;

    @ApiModelProperty(value = "存放柜门ID")
    @JsonIgnore
    private String bioCabinetDoorId;

    @ApiModelProperty(value = "存放柜门")
    private String bioCabinetDoorName;

    @ApiModelProperty(value = "存放柜子地点-地区")
    private String bioAreaName;

    @ApiModelProperty(value = "存放当前柜子地点-楼栋")
    private String bioBuildingName;

    @ApiModelProperty(value = "存放当前柜子地点-房间ID")
    private String bioRoomName;

    @ApiModelProperty(value = "状态")
    private String stateText;

    @ApiModelProperty(value = "状态 0-已报废 1-启用 2-维修中")
    private Integer state;

    @ApiModelProperty(value = "离柜标识 0-在柜 1-离柜（当”是否在柜“为“在柜”时，显示“当前柜门”和当前柜子的地点；为“离柜”时，显示“存放柜门”和存放柜的地点）")
    private Integer leaveFlag;

    @ApiModelProperty(value = "物品图片")
    private String goodsImg;

    @ApiModelProperty(value = "存放一致 0-否 1-是")
    private Integer consistentStorage;

    @ApiModelProperty(value = "是否独立权限", hidden = true)
    @JsonIgnore
    private Boolean separatedPermission;

    @ApiModelProperty(value = "是否拥有借用权，状态是“启用”的仪器，根据用户对其存放柜门如果有权限，则显示“拥有借用权”", hidden = true)
    private boolean hasPerm;

    @ApiModelProperty(value = "待处理异常数量")
    private Integer exceptionCount;

    /** 可用重量 */
    @ApiModelProperty(value = "可用重量")
    private BigDecimal reagentAvlWeight;

    /** 可用容量 */
    @ApiModelProperty(value = "可用容量")
    private BigDecimal reagentAvlVolume;

    /** CAS编码 */
    @ApiModelProperty(value = "CAS编码")
    private String reagentCasNo;
}
